package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.entity.SealInfo;
import com.ruoyi.common.core.domain.entity.SealJur;

import java.util.List;

/**
 * 印章授权Service接口
 *
 * @author ess
 * @date 2021-11-03
 */
public interface ISealJurService
{

    /**
     * 检查授权
     *
     * @param userId 印章授权主键
     * @return 印章授权
     */
    public boolean checkSealJur(String userId,String businessSysIds,String sealName);


    /**
     * 根据用户ID查询印章授权(公章+手签)
     *
     * @param userId 印章授权主键
     * @return 印章授权
     */
    public List<SealJur> selectAllSealJurByUserId(String userId,String businessSysIds);

    /**
     * 查询印章授权
     *
     * @param sealJurId 印章授权主键
     * @return 印章授权
     */
    public SealJur selectSealJurBySealJurId(String sealJurId);

    /**
     * 查询印章授权列表
     *
     * @param sealJur 印章授权
     * @return 印章授权集合
     */
    public List<SealJur> selectSealJurList(SealJur sealJur);

    /**
     * 新增印章、手签授权
     *
     * @param sealJur 印章、手签授权
     * @return 结果
     */
    public int insertSealJur(SealJur sealJur);

    /**
     * 修改印章授权
     *
     * @param sealJur 印章授权
     * @return 结果
     */
    public int updateSealJur(SealJur sealJur);

    /**
     * 批量删除印章授权
     *
     * @param sealJurIds 需要删除的印章授权主键集合
     * @return 结果
     */
    public int deleteSealJurBySealJurIds(String[] sealJurIds);

    /**
     * 删除印章授权信息
     *
     * @param sealJurId 印章授权主键
     * @return 结果
     */
    public int deleteSealJurBySealJurId(String sealJurId);

    /**
     *  清空授权表为手签的数据 以及对应的转授表数据
     */
    void deleteAllSignJurAndTempJurData();

    /**
     * 删除印章授权信息
     * @param personId 使用人id
     */
    void deleteSealJurBySealPersonId(String personId);

    /**
     * 判断是否已经转授过
     * @param sealJur
     * @return
     */
    boolean checkAreadyJur(SealJur sealJur);
}
